package thread;

/**
 * 线程的第一种创建方式：
 * 继承Thread并重写run方法
 */
public class ThreadDemo1 {
    public static void main(String[] args) {
        //1.实例化两个线程
        Thread t1 = new MyThread1();
        Thread t2 = new MyThread2();

        //2.调用线程的start方法
        t1.start();
        t2.start();
    }
}

/**
 * 第一种创建线程的优点：
 * 结构简单，利于匿名内部类的创建
 *
 * 缺点：
 * 1.由于java是单一继承的，导致如果继承了Thread就无法再继承其他类
 * 2.继承Thread后重写run方法，导致线程任务绑定在一起，不利于线程的重用
 */
class MyThread1 extends Thread{
    public void run(){
        for (int i = 0;i<1000;i++){
            System.out.println("你是谁啊？");
        }
    }
}

class MyThread2 extends Thread{
    public void run(){
        for (int i = 0;i<1000;i++){
            System.out.println("开门，查水表的！");
        }
    }
}